home *** CD-ROM | disk | FTP | other *** search
/ QuickTime 1.5 for Developers / QuickTime 1.5 for Developers.iso / System Stuff / Video Digitizers / RasterOps / RasterOps Drivers / RasterOps Drivers.rsrc / INIT_0_Version 1.0.5.txt < prev    next >
Text File  |  1992-10-15  |  60KB  |  1,075 lines

  1. start:
  2. 00000000  600E                     bra        +0x10 /* 00000010 */
  3. 00000002  0000 494E                ori.b      D0, 0x4E /* 'N' */
  4. 00000006  4954                     chk.w      D4, [A4]
  5. 00000008  0000 0000                ori.b      D0, 0x0
  6. 0000000C  0000 0000                ori.b      D0, 0x0
  7. label00000010:
  8. 00000010  41FA FFEE                lea.l      A0, [PC - 0x12 /* 00000000, value 0x600E0000 */]
  9. 00000014  4E71                     nop
  10. 00000016  4E71                     nop
  11. 00000018  6000 0002                bra        +0x4 /* 0000001C */
  12. label0000001C:
  13. 0000001C  4E56 FF3C                link       A6, -0x00C4
  14. 00000020  48E7 1F30                movem.l    -[A7], D3,D4,D5,D6,D7,A2,A3
  15. 00000024  303C A055                move.w     D0, 0xA055
  16. 00000028  A346                     syscall    GetOSTrapAddress, flags=3
  17. 0000002A  2D48 FF3C                move.l     [A6 - 0xC4], A0
  18. 0000002E  303C A89F                move.w     D0, 0xA89F
  19. 00000032  A746                     syscall    GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
  20. 00000034  B1EE FF3C                cmpa.l     A0, [A6 - 0xC4]
  21. 00000038  6700 0258                beq        +0x25A /* 00000292 */
  22. 0000003C  4EBA 025C                jsr        [PC + 0x25C /* 0000029A */]
  23. 00000040  4227                     clr.b      -[A7]
  24. 00000042  A974                     syscall    Button
  25. 00000044  4A1F                     tst.b      [A7]+
  26. 00000046  6600 024A                bne        +0x24C /* 00000292 */
  27. 0000004A  486E FFE4                pea.l      [A6 - 0x1C]
  28. 0000004E  A976                     syscall    GetKeys
  29. 00000050  7000                     moveq.l    D0, 0x00
  30. 00000052  102E FFEB                move.b     D0, [A6 - 0x15]
  31. 00000056  0240 0001                andi.w     D0, 0x1
  32. 0000005A  6600 0236                bne        +0x238 /* 00000292 */
  33. 0000005E  4267                     clr.w      -[A7]
  34. 00000060  3F3C 0002                move.w     -[A7], 0x2
  35. 00000064  486E FF40                pea.l      [A6 - 0xC0]
  36. 00000068  4EBA 067E                jsr        [PC + 0x67E /* 000006E8 */]
  37. 0000006C  3D5F FFFC                move.w     [A6 - 0x4], [A7]+
  38. 00000070  6600 0220                bne        +0x222 /* 00000292 */
  39. 00000074  422E FFC5                clr.b      [A6 - 0x3B]
  40. 00000078  0C6E 0607 FF44           cmpi.w     [A6 - 0xBC], 0x607
  41. 0000007E  6D26                     blt        +0x28 /* 000000A6 */
  42. 00000080  4267                     clr.w      -[A7]
  43. 00000082  2F3C 736E 6420           move.l     -[A7], 0x736E6420 /* 'snd ' */
  44. 00000088  486E FFF4                pea.l      [A6 - 0xC]
  45. 0000008C  4EBA 07C4                jsr        [PC + 0x7C4 /* 00000852 */]
  46. 00000090  301F                     move.w     D0, [A7]+
  47. 00000092  3D40 FFFC                move.w     [A6 - 0x4], D0
  48. 00000096  660E                     bne        +0x10 /* 000000A6 */
  49. 00000098  082E 0003 FFF7           btst.b     [A6 - 0x9], 0x3
  50. 0000009E  56C0                     sne        D0
  51. 000000A0  4400                     neg.b      D0
  52. 000000A2  1D40 FFC5                move.b     [A6 - 0x3B], D0
  53. label000000A6:
  54. 000000A6  303C A06E                move.w     D0, 0xA06E
  55. 000000AA  A346                     syscall    GetOSTrapAddress, flags=3
  56. 000000AC  2D48 FF3C                move.l     [A6 - 0xC4], A0
  57. 000000B0  303C A89F                move.w     D0, 0xA89F
  58. 000000B4  A746                     syscall    GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
  59. 000000B6  B1EE FF3C                cmpa.l     A0, [A6 - 0xC4]
  60. 000000BA  6700 01D6                beq        +0x1D8 /* 00000292 */
  61. 000000BE  42A7                     clr.l      -[A7]
  62. 000000C0  2F3C 5253 4C44           move.l     -[A7], 0x52534C44 /* 'RSLD' */
  63. 000000C6  3F3C 0080                move.w     -[A7], 0x80
  64. 000000CA  A9A0                     syscall    GetResource
  65. 000000CC  281F                     move.l     D4, [A7]+
  66. 000000CE  6700 01C2                beq        +0x1C4 /* 00000292 */
  67. 000000D2  42A7                     clr.l      -[A7]
  68. 000000D4  2F04                     move.l     -[A7], D4
  69. 000000D6  4EBA 0996                jsr        [PC + 0x996 /* 00000A6E */]
  70. 000000DA  201F                     move.l     D0, [A7]+
  71. 000000DC  E688                     lsr        D0, 3
  72. 000000DE  3D40 FFFA                move.w     [A6 - 0x6], D0
  73. 000000E2  2044                     movea.l    A0, D4
  74. 000000E4  A029                     syscall    HLock
  75. 000000E6  7600                     moveq.l    D3, 0x00
  76. 000000E8  6014                     bra        +0x16 /* 000000FE */
  77. label000000EA:
  78. 000000EA  204E                     movea.l    A0, A6
  79. 000000EC  D0C3                     add.w      A0, D3
  80. 000000EE  4270 30C6                clr.w      [A0 + D3.w - 0x58]
  81. 000000F2  2003                     move.l     D0, D3
  82. 000000F4  48C0                     ext.l      D0
  83. 000000F6  E588                     lsl        D0, 2
  84. 000000F8  42B6 0888                clr.l      [A6 + D0 - 0x120]
  85. 000000FC  5243                     addq.w     D3, 1
  86. label000000FE:
  87. 000000FE  0C43 000F                cmpi.w     D3, 0xF
  88. 00000102  6DE6                     blt        -0x18 /* 000000EA */
  89. 00000104  7600                     moveq.l    D3, 0x00
  90. 00000106  6000 0084                bra        +0x86 /* 0000018C */
  91. label0000010A:
  92. 0000010A  1D43 FF81                move.b     [A6 - 0x7F], D3
  93. 0000010E  422E FF82                clr.b      [A6 - 0x7E]
  94. 00000112  422E FF83                clr.b      [A6 - 0x7D]
  95. 00000116  41EE FF50                lea.l      A0, [A6 - 0xB0]
  96. 0000011A  7014                     moveq.l    D0, 0x14
  97. 0000011C  A06E                     syscall    SlotManager
  98. 0000011E  3D40 FFFC                move.w     [A6 - 0x4], D0
  99. 00000122  6666                     bne        +0x68 /* 0000018A */
  100. 00000124  102E FF81                move.b     D0, [A6 - 0x7F]
  101. 00000128  4880                     ext.w      D0
  102. 0000012A  B640                     cmp.w      D3, D0
  103. 0000012C  665C                     bne        +0x5E /* 0000018A */
  104. 0000012E  1D7C 0020 FF82           move.b     [A6 - 0x7E], 0x20 /* ' ' */
  105. 00000134  42AE FF50                clr.l      [A6 - 0xB0]
  106. 00000138  41EE FF50                lea.l      A0, [A6 - 0xB0]
  107. 0000013C  7001                     moveq.l    D0, 0x01
  108. 0000013E  A06E                     syscall    SlotManager
  109. 00000140  4A40                     tst.w      D0
  110. 00000142  6646                     bne        +0x48 /* 0000018A */
  111. 00000144  204E                     movea.l    A0, A6
  112. 00000146  D0C3                     add.w      A0, D3
  113. 00000148  31AE FF52 30C6           move.w     [A0 + D3.w - 0x58], [A6 - 0xAE]
  114. 0000014E  42A7                     clr.l      -[A7]
  115. 00000150  AA29                     syscall    GetDeviceList
  116. 00000152  245F                     movea.l    A2, [A7]+
  117. 00000154  6030                     bra        +0x32 /* 00000186 */
  118. label00000156:
  119. 00000156  2052                     movea.l    A0, [A2]
  120. 00000158  3010                     move.w     D0, [A0]
  121. 0000015A  4640                     not.w      D0
  122. 0000015C  48C0                     ext.l      D0
  123. 0000015E  E588                     lsl        D0, 2
  124. 00000160  D0B8 011C                add.l      D0, [0x0000011C /* UTableBase */]
  125. 00000164  2240                     movea.l    A1, D0
  126. 00000166  2251                     movea.l    A1, [A1]
  127. 00000168  2251                     movea.l    A1, [A1]
  128. 0000016A  1029 0028                move.b     D0, [A1 + 0x28]
  129. 0000016E  4880                     ext.w      D0
  130. 00000170  B640                     cmp.w      D3, D0
  131. 00000172  660A                     bne        +0xC /* 0000017E */
  132. 00000174  2003                     move.l     D0, D3
  133. 00000176  48C0                     ext.l      D0
  134. 00000178  E588                     lsl        D0, 2
  135. 0000017A  2D8A 0888                move.l     [A6 + D0 - 0x120], A2
  136. label0000017E:
  137. 0000017E  42A7                     clr.l      -[A7]
  138. 00000180  2F0A                     move.l     -[A7], A2
  139. 00000182  AA2B                     syscall    GetNextDevice
  140. 00000184  245F                     movea.l    A2, [A7]+
  141. label00000186:
  142. 00000186  200A                     move.l     D0, A2
  143. 00000188  66CC                     bne        -0x32 /* 00000156 */
  144. label0000018A:
  145. 0000018A  5243                     addq.w     D3, 1
  146. label0000018C:
  147. 0000018C  0C43 000E                cmpi.w     D3, 0xE
  148. 00000190  6F00 FF78                ble        -0x86 /* 0000010A */
  149. 00000194  7E00                     moveq.l    D7, 0x00
  150. 00000196  7600                     moveq.l    D3, 0x00
  151. 00000198  6000 00DE                bra        +0xE0 /* 00000278 */
  152. label0000019C:
  153. 0000019C  204E                     movea.l    A0, A6
  154. 0000019E  D0C3                     add.w      A0, D3
  155. 000001A0  4A70 30C6                tst.w      [A0 + D3.w - 0x58]
  156. 000001A4  6700 00D0                beq        +0xD2 /* 00000276 */
  157. 000001A8  2044                     movea.l    A0, D4
  158. 000001AA  2650                     movea.l    A3, [A0]
  159. 000001AC  426E FFFE                clr.w      [A6 - 0x2]
  160. 000001B0  6000 00B8                bra        +0xBA /* 0000026A */
  161. label000001B4:
  162. 000001B4  204E                     movea.l    A0, A6
  163. 000001B6  D0C3                     add.w      A0, D3
  164. 000001B8  3013                     move.w     D0, [A3]
  165. 000001BA  B070 30C6                cmp.w      D0, [A0 + D3.w - 0x58]
  166. 000001BE  6600 00A4                bne        +0xA6 /* 00000264 */
  167. 000001C2  7C00                     moveq.l    D6, 0x00
  168. 000001C4  7A00                     moveq.l    D5, 0x00
  169. 000001C6  6018                     bra        +0x1A /* 000001E0 */
  170. label000001C8:
  171. 000001C8  204E                     movea.l    A0, A6
  172. 000001CA  D0C5                     add.w      A0, D5
  173. 000001CC  224E                     movea.l    A1, A6
  174. 000001CE  D2C3                     add.w      A1, D3
  175. 000001D0  3030 50C6                move.w     D0, [A0 + D5.w - 0x58]
  176. 000001D4  B071 30C6                cmp.w      D0, [A1 + D3.w - 0x58]
  177. 000001D8  6604                     bne        +0x6 /* 000001DE */
  178. 000001DA  7C01                     moveq.l    D6, 0x01
  179. 000001DC  6006                     bra        +0x8 /* 000001E4 */
  180. label000001DE:
  181. 000001DE  5245                     addq.w     D5, 1
  182. label000001E0:
  183. 000001E0  B645                     cmp.w      D3, D5
  184. 000001E2  6EE4                     bgt        -0x1A /* 000001C8 */
  185. label000001E4:
  186. 000001E4  4A06                     tst.b      D6
  187. 000001E6  667C                     bne        +0x7E /* 00000264 */
  188. 000001E8  204E                     movea.l    A0, A6
  189. 000001EA  D0C3                     add.w      A0, D3
  190. 000001EC  3030 30C6                move.w     D0, [A0 + D3.w - 0x58]
  191. 000001F0  6B16                     bmi        +0x18 /* 00000208 */
  192. 000001F2  0440 0406                subi.w     D0, 0x406
  193. 000001F6  6702                     beq        +0x4 /* 000001FA */
  194. 000001F8  600E                     bra        +0x10 /* 00000208 */
  195. label000001FA:
  196. 000001FA  0C6B 007F 0002           cmpi.w     [A3 + 0x2], 0x7F
  197. 00000200  6606                     bne        +0x8 /* 00000208 */
  198. 00000202  4A2E FFC5                tst.b      [A6 - 0x3B]
  199. 00000206  675C                     beq        +0x5E /* 00000264 */
  200. label00000208:
  201. 00000208  486E FFF8                pea.l      [A6 - 0x8]
  202. 0000020C  3F2B 0002                move.w     -[A7], [A3 + 0x2]
  203. 00000210  2F2B 0004                move.l     -[A7], [A3 + 0x4]
  204. 00000214  4EBA 01AA                jsr        [PC + 0x1AA /* 000003C0 */]
  205. 00000218  4A40                     tst.w      D0
  206. 0000021A  4FEF 000A                lea.l      A7, [A7 + 0xA]
  207. 0000021E  6644                     bne        +0x46 /* 00000264 */
  208. 00000220  204E                     movea.l    A0, A6
  209. 00000222  D0C3                     add.w      A0, D3
  210. 00000224  3030 30C6                move.w     D0, [A0 + D3.w - 0x58]
  211. 00000228  6B38                     bmi        +0x3A /* 00000262 */
  212. 0000022A  0440 0448                subi.w     D0, 0x448
  213. 0000022E  671E                     beq        +0x20 /* 0000024E */
  214. 00000230  6A30                     bpl        +0x32 /* 00000262 */
  215. 00000232  0440 FFBE                subi.w     D0, 0xFFBE
  216. 00000236  6702                     beq        +0x4 /* 0000023A */
  217. 00000238  6028                     bra        +0x2A /* 00000262 */
  218. label0000023A:
  219. 0000023A  0C6B 007F 0002           cmpi.w     [A3 + 0x2], 0x7F
  220. 00000240  6620                     bne        +0x22 /* 00000262 */
  221. 00000242  3F2E FFF8                move.w     -[A7], [A6 - 0x8]
  222. 00000246  4EBA 005A                jsr        [PC + 0x5A /* 000002A2 */]
  223. 0000024A  548F                     addq.l     A7, 2
  224. 0000024C  6014                     bra        +0x16 /* 00000262 */
  225. label0000024E:
  226. 0000024E  486E FF88                pea.l      [A6 - 0x78]
  227. 00000252  486E FFC6                pea.l      [A6 - 0x3A]
  228. 00000256  3F2E FFF8                move.w     -[A7], [A6 - 0x8]
  229. 0000025A  4EBA 0072                jsr        [PC + 0x72 /* 000002CE */]
  230. 0000025E  4FEF 000A                lea.l      A7, [A7 + 0xA]
  231. label00000262:
  232. 00000262  7E01                     moveq.l    D7, 0x01
  233. label00000264:
  234. 00000264  508B                     addq.l     A3, 8
  235. 00000266  526E FFFE                addq.w     [A6 - 0x2], 1
  236. label0000026A:
  237. 0000026A  302E FFFE                move.w     D0, [A6 - 0x2]
  238. 0000026E  B06E FFFA                cmp.w      D0, [A6 - 0x6]
  239. 00000272  6D00 FF40                blt        -0xBE /* 000001B4 */
  240. label00000276:
  241. 00000276  5243                     addq.w     D3, 1
  242. label00000278:
  243. 00000278  0C43 000F                cmpi.w     D3, 0xF
  244. 0000027C  6D00 FF1E                blt        -0xE0 /* 0000019C */
  245. 00000280  2F04                     move.l     -[A7], D4
  246. 00000282  A9A3                     syscall    ReleaseResource
  247. 00000284  4A07                     tst.b      D7
  248. 00000286  670A                     beq        +0xC /* 00000292 */
  249. 00000288  3F3C 0080                move.w     -[A7], 0x80
  250. 0000028C  4EBA 02F6                jsr        [PC + 0x2F6 /* 00000584 */]
  251. 00000290  548F                     addq.l     A7, 2
  252. label00000292:
  253. 00000292  4CDF 0CF8                movem.l    D3,D4,D5,D6,D7,A2,A3, [A7]+
  254. 00000296  4E5E                     unlink     A6
  255. 00000298  4E75                     rts
  256. fn0000029A:
  257. 0000029A  2017                     move.l     D0, [A7]
  258. 0000029C  A055                     syscall    StripAddress
  259. 0000029E  2E80                     move.l     [A7], D0
  260. 000002A0  4E75                     rts
  261. fn000002A2:
  262. 000002A2  4E56 FF7E                link       A6, -0x0082
  263. 000002A6  486E FF80                pea.l      [A6 - 0x80]
  264. 000002AA  2F3C 0002 0080           move.l     -[A7], 0x20080
  265. 000002B0  4EBA 0802                jsr        [PC + 0x802 /* 00000AB4 */]
  266. 000002B4  4267                     clr.w      -[A7]
  267. 000002B6  3F2E 0008                move.w     -[A7], [A6 + 0x8]
  268. 000002BA  486E FF80                pea.l      [A6 - 0x80]
  269. 000002BE  203C 030C 0014           move.l     D0, 0x30C0014
  270. 000002C4  A800                     syscall    SoundDispatch
  271. 000002C6  3D5F FF7E                move.w     [A6 - 0x82], [A7]+
  272. 000002CA  4E5E                     unlink     A6
  273. 000002CC  4E75                     rts
  274. fn000002CE:
  275. 000002CE  4E56 FFCE                link       A6, -0x0032
  276. 000002D2  48E7 1F30                movem.l    -[A7], D3,D4,D5,D6,D7,A2,A3
  277. 000002D6  3D6E 0008 FFE6           move.w     [A6 - 0x1A], [A6 + 0x8]
  278. 000002DC  3D7C 2367 FFE8           move.w     [A6 - 0x18], 0x2367 /* '#g' */
  279. 000002E2  426E FFE4                clr.w      [A6 - 0x1C]
  280. 000002E6  4267                     clr.w      -[A7]
  281. 000002E8  486E FFCE                pea.l      [A6 - 0x32]
  282. 000002EC  4227                     clr.b      -[A7]
  283. 000002EE  4EBA 07B2                jsr        [PC + 0x7B2 /* 00000AA2 */]
  284. 000002F2  3E1F                     move.w     D7, [A7]+
  285. 000002F4  6600 00C2                bne        +0xC4 /* 000003B8 */
  286. 000002F8  4A6E FFEA                tst.w      [A6 - 0x16]
  287. 000002FC  6D50                     blt        +0x52 /* 0000034E */
  288. 000002FE  0C6E 000E FFEA           cmpi.w     [A6 - 0x16], 0xE
  289. 00000304  6E48                     bgt        +0x4A /* 0000034E */
  290. 00000306  3C2E FFEA                move.w     D6, [A6 - 0x16]
  291. 0000030A  206E 000A                movea.l    A0, [A6 + 0xA]
  292. 0000030E  D0C6                     add.w      A0, D6
  293. 00000310  302E FFEC                move.w     D0, [A6 - 0x14]
  294. 00000314  B070 6000                cmp.w      D0, [A0 + D6.w]
  295. 00000318  6634                     bne        +0x36 /* 0000034E */
  296. 0000031A  2006                     move.l     D0, D6
  297. 0000031C  48C0                     ext.l      D0
  298. 0000031E  E588                     lsl        D0, 2
  299. 00000320  D0AE 000E                add.l      D0, [A6 + 0xE]
  300. 00000324  2040                     movea.l    A0, D0
  301. 00000326  2050                     movea.l    A0, [A0]
  302. 00000328  2610                     move.l     D3, [A0]
  303. 0000032A  2043                     movea.l    A0, D3
  304. 0000032C  2243                     movea.l    A1, D3
  305. 0000032E  3A29 0028                move.w     D5, [A1 + 0x28]
  306. 00000332  9A68 0024                sub.w      D5, [A0 + 0x24]
  307. 00000336  2043                     movea.l    A0, D3
  308. 00000338  2243                     movea.l    A1, D3
  309. 0000033A  3829 0026                move.w     D4, [A1 + 0x26]
  310. 0000033E  9868 0022                sub.w      D4, [A0 + 0x22]
  311. 00000342  BA6E FFEE                cmp.w      D5, [A6 - 0x12]
  312. 00000346  6606                     bne        +0x8 /* 0000034E */
  313. 00000348  B86E FFF0                cmp.w      D4, [A6 - 0x10]
  314. 0000034C  676A                     beq        +0x6C /* 000003B8 */
  315. label0000034E:
  316. 0000034E  7024                     moveq.l    D0, 0x24
  317. 00000350  A71E                     syscall    NewPtrSysClear, flags=7
  318. 00000352  2648                     movea.l    A3, A0
  319. 00000354  2008                     move.l     D0, A0
  320. 00000356  6608                     bne        +0xA /* 00000360 */
  321. label00000358:
  322. 00000358  3F3C 0003                move.w     -[A7], 0x3
  323. 0000035C  A9C8                     syscall    SysBeep
  324. 0000035E  6058                     bra        +0x5A /* 000003B8 */
  325. label00000360:
  326. 00000360  377C 0008 0004           move.w     [A3 + 0x4], 0x8
  327. 00000366  70FF                     moveq.l    D0, 0xFFFFFFFF
  328. 00000368  2740 0014                move.l     [A3 + 0x14], D0
  329. 0000036C  42A7                     clr.l      -[A7]
  330. 0000036E  2F3C 5354 5220           move.l     -[A7], 0x53545220 /* 'STR ' */
  331. 00000374  3F3C 0080                move.w     -[A7], 0x80
  332. 00000378  A9A0                     syscall    GetResource
  333. 0000037A  245F                     movea.l    A2, [A7]+
  334. 0000037C  200A                     move.l     D0, A2
  335. 0000037E  67D8                     beq        -0x26 /* 00000358 */
  336. 00000380  2F0A                     move.l     -[A7], A2
  337. 00000382  A992                     syscall    DetachResource
  338. 00000384  204A                     movea.l    A0, A2
  339. 00000386  A029                     syscall    HLock
  340. 00000388  2752 0018                move.l     [A3 + 0x18], [A2]
  341. 0000038C  42A7                     clr.l      -[A7]
  342. 0000038E  2F3C 7072 6F63           move.l     -[A7], 0x70726F63 /* 'proc' */
  343. 00000394  3F3C 0080                move.w     -[A7], 0x80
  344. 00000398  A9A0                     syscall    GetResource
  345. 0000039A  245F                     movea.l    A2, [A7]+
  346. 0000039C  200A                     move.l     D0, A2
  347. 0000039E  67B8                     beq        -0x46 /* 00000358 */
  348. 000003A0  2F0A                     move.l     -[A7], A2
  349. 000003A2  A992                     syscall    DetachResource
  350. 000003A4  204A                     movea.l    A0, A2
  351. 000003A6  A029                     syscall    HLock
  352. 000003A8  2752 001C                move.l     [A3 + 0x1C], [A2]
  353. 000003AC  4267                     clr.w      -[A7]
  354. 000003AE  2F0B                     move.l     -[A7], A3
  355. 000003B0  205F                     movea.l    A0, [A7]+
  356. 000003B2  A05E                     syscall    NMInstall
  357. 000003B4  3E80                     move.w     [A7], D0
  358. 000003B6  3E1F                     move.w     D7, [A7]+
  359. label000003B8:
  360. 000003B8  4CDF 0CF8                movem.l    D3,D4,D5,D6,D7,A2,A3, [A7]+
  361. 000003BC  4E5E                     unlink     A6
  362. 000003BE  4E75                     rts
  363. fn000003C0:
  364. 000003C0  4E56 FF78                link       A6, -0x0088
  365. 000003C4  48E7 1F30                movem.l    -[A7], D3,D4,D5,D6,D7,A2,A3
  366. 000003C8  2E2E 0008                move.l     D7, [A6 + 0x8]
  367. 000003CC  206E 000E                movea.l    A0, [A6 + 0xE]
  368. 000003D0  4250                     clr.w      [A0]
  369. 000003D2  4227                     clr.b      -[A7]
  370. 000003D4  A99B                     syscall    SetResLoad
  371. 000003D6  42A7                     clr.l      -[A7]
  372. 000003D8  2F07                     move.l     -[A7], D7
  373. 000003DA  3F2E 000C                move.w     -[A7], [A6 + 0xC]
  374. 000003DE  A9A0                     syscall    GetResource
  375. 000003E0  265F                     movea.l    A3, [A7]+
  376. 000003E2  1F3C 0001                move.b     -[A7], 0x1
  377. 000003E6  A99B                     syscall    SetResLoad
  378. 000003E8  200B                     move.l     D0, A3
  379. 000003EA  6606                     bne        +0x8 /* 000003F2 */
  380. 000003EC  70FF                     moveq.l    D0, 0xFFFFFFFF
  381. 000003EE  6000 00BA                bra        +0xBC /* 000004AA */
  382. label000003F2:
  383. 000003F2  2F0B                     move.l     -[A7], A3
  384. 000003F4  486E FFFE                pea.l      [A6 - 0x2]
  385. 000003F8  486E FFF8                pea.l      [A6 - 0x8]
  386. 000003FC  486E FF78                pea.l      [A6 - 0x88]
  387. 00000400  A9A8                     syscall    GetResInfo
  388. 00000402  2F0B                     move.l     -[A7], A3
  389. 00000404  A9A3                     syscall    ReleaseResource
  390. 00000406  4EBA 00AA                jsr        [PC + 0xAA /* 000004B2 */]
  391. 0000040A  3A00                     move.w     D5, D0
  392. 0000040C  4A45                     tst.w      D5
  393. 0000040E  6C06                     bge        +0x8 /* 00000416 */
  394. 00000410  70FE                     moveq.l    D0, 0xFFFFFFFE
  395. 00000412  6000 0096                bra        +0x98 /* 000004AA */
  396. label00000416:
  397. 00000416  A11A                     syscall    GetZone, flags=1
  398. 00000418  2448                     movea.l    A2, A0
  399. 0000041A  2078 02A6                movea.l    A0, [0x000002A6 /* SysZone */]
  400. 0000041E  A01B                     syscall    SetZone
  401. 00000420  42A7                     clr.l      -[A7]
  402. 00000422  2F07                     move.l     -[A7], D7
  403. 00000424  3F2E 000C                move.w     -[A7], [A6 + 0xC]
  404. 00000428  A9A0                     syscall    GetResource
  405. 0000042A  265F                     movea.l    A3, [A7]+
  406. 0000042C  200B                     move.l     D0, A3
  407. 0000042E  6604                     bne        +0x6 /* 00000434 */
  408. 00000430  70FD                     moveq.l    D0, 0xFFFFFFFD
  409. 00000432  6076                     bra        +0x78 /* 000004AA */
  410. label00000434:
  411. 00000434  0C87 4452 5652           cmpi.l     D7, 0x44525652 /* 'DRVR' */
  412. 0000043A  6706                     beq        +0x8 /* 00000442 */
  413. 0000043C  204A                     movea.l    A0, A2
  414. 0000043E  A01B                     syscall    SetZone
  415. 00000440  6062                     bra        +0x64 /* 000004A4 */
  416. label00000442:
  417. 00000442  2F0B                     move.l     -[A7], A3
  418. 00000444  3F05                     move.w     -[A7], D5
  419. 00000446  42A7                     clr.l      -[A7]
  420. 00000448  A9A9                     syscall    SetResInfo
  421. 0000044A  426E FFFC                clr.w      [A6 - 0x4]
  422. 0000044E  4267                     clr.w      -[A7]
  423. 00000450  486E FF78                pea.l      [A6 - 0x88]
  424. 00000454  486E FFFC                pea.l      [A6 - 0x4]
  425. 00000458  4EBA 0622                jsr        [PC + 0x622 /* 00000A7C */]
  426. 0000045C  3C1F                     move.w     D6, [A7]+
  427. 0000045E  204A                     movea.l    A0, A2
  428. 00000460  A01B                     syscall    SetZone
  429. 00000462  2F0B                     move.l     -[A7], A3
  430. 00000464  3F2E 000C                move.w     -[A7], [A6 + 0xC]
  431. 00000468  42A7                     clr.l      -[A7]
  432. 0000046A  A9A9                     syscall    SetResInfo
  433. 0000046C  4267                     clr.w      -[A7]
  434. 0000046E  2F0B                     move.l     -[A7], A3
  435. 00000470  A9A4                     syscall    HomeResFile
  436. 00000472  381F                     move.w     D4, [A7]+
  437. 00000474  4267                     clr.w      -[A7]
  438. 00000476  3F04                     move.w     -[A7], D4
  439. 00000478  A9F6                     syscall    GetResFileAttrs
  440. 0000047A  361F                     move.w     D3, [A7]+
  441. 0000047C  0243 FFDF                andi.w     D3, 0xFFDF
  442. 00000480  3F04                     move.w     -[A7], D4
  443. 00000482  3F03                     move.w     -[A7], D3
  444. 00000484  A9F7                     syscall    SetResFileAttrs
  445. 00000486  4A46                     tst.w      D6
  446. 00000488  660A                     bne        +0xC /* 00000494 */
  447. 0000048A  3005                     move.w     D0, D5
  448. 0000048C  4640                     not.w      D0
  449. 0000048E  B06E FFFC                cmp.w      D0, [A6 - 0x4]
  450. 00000492  6708                     beq        +0xA /* 0000049C */
  451. label00000494:
  452. 00000494  2F0B                     move.l     -[A7], A3
  453. 00000496  A9A3                     syscall    ReleaseResource
  454. 00000498  70FC                     moveq.l    D0, 0xFFFFFFFC
  455. 0000049A  600E                     bra        +0x10 /* 000004AA */
  456. label0000049C:
  457. 0000049C  206E 000E                movea.l    A0, [A6 + 0xE]
  458. 000004A0  30AE FFFC                move.w     [A0], [A6 - 0x4]
  459. label000004A4:
  460. 000004A4  2F0B                     move.l     -[A7], A3
  461. 000004A6  A992                     syscall    DetachResource
  462. 000004A8  7000                     moveq.l    D0, 0x00
  463. label000004AA:
  464. 000004AA  4CDF 0CF8                movem.l    D3,D4,D5,D6,D7,A2,A3, [A7]+
  465. 000004AE  4E5E                     unlink     A6
  466. 000004B0  4E75                     rts
  467. fn000004B2:
  468. 000004B2  4E56 FFEA                link       A6, -0x0016
  469. label000004B6:
  470. 000004B6  2D78 011C FFEE           move.l     [A6 - 0x12], [0x0000011C /* UTableBase */]
  471. 000004BC  3038 01D2                move.w     D0, [0x000001D2 /* UnitNtryCnt */]
  472. 000004C0  48C0                     ext.l      D0
  473. 000004C2  E588                     lsl        D0, 2
  474. 000004C4  D0AE FFEE                add.l      D0, [A6 - 0x12]
  475. 000004C8  2D40 FFEA                move.l     [A6 - 0x16], D0
  476. 000004CC  426E FFFC                clr.w      [A6 - 0x4]
  477. 000004D0  3D7C 0030 FFFE           move.w     [A6 - 0x2], 0x30 /* '0' */
  478. 000004D6  206E FFEE                movea.l    A0, [A6 - 0x12]
  479. 000004DA  41E8 00C0                lea.l      A0, [A0 + 0xC0]
  480. 000004DE  2D48 FFEE                move.l     [A6 - 0x12], A0
  481. 000004E2  601C                     bra        +0x1E /* 00000500 */
  482. label000004E4:
  483. 000004E4  206E FFEE                movea.l    A0, [A6 - 0x12]
  484. 000004E8  4A90                     tst.l      [A0]
  485. 000004EA  660C                     bne        +0xE /* 000004F8 */
  486. 000004EC  4A6E FFFC                tst.w      [A6 - 0x4]
  487. 000004F0  6606                     bne        +0x8 /* 000004F8 */
  488. 000004F2  3D6E FFFE FFFC           move.w     [A6 - 0x4], [A6 - 0x2]
  489. label000004F8:
  490. 000004F8  58AE FFEE                addq.l     [A6 - 0x12], 4
  491. 000004FC  526E FFFE                addq.w     [A6 - 0x2], 1
  492. label00000500:
  493. 00000500  202E FFEE                move.l     D0, [A6 - 0x12]
  494. 00000504  B0AE FFEA                cmp.l      D0, [A6 - 0x16]
  495. 00000508  65DA                     bcs        -0x24 /* 000004E4 */
  496. 0000050A  4A6E FFFC                tst.w      [A6 - 0x4]
  497. 0000050E  666C                     bne        +0x6E /* 0000057C */
  498. 00000510  42A7                     clr.l      -[A7]
  499. 00000512  2F38 011C                move.l     -[A7], [0x0000011C /* UTableBase */]
  500. 00000516  4EBA 0548                jsr        [PC + 0x548 /* 00000A60 */]
  501. 0000051A  201F                     move.l     D0, [A7]+
  502. 0000051C  E488                     lsr        D0, 2
  503. 0000051E  3D40 FFFA                move.w     [A6 - 0x6], D0
  504. 00000522  B078 01D2                cmp.w      D0, [0x000001D2 /* UnitNtryCnt */]
  505. 00000526  6F08                     ble        +0xA /* 00000530 */
  506. 00000528  31EE FFFA 01D2           move.w     [0x000001D2 /* UnitNtryCnt */], [A6 - 0x6]
  507. 0000052E  6086                     bra        -0x78 /* 000004B6 */
  508. label00000530:
  509. 00000530  066E 0010 FFFA           addi.w     [A6 - 0x6], 0x10
  510. 00000536  302E FFFA                move.w     D0, [A6 - 0x6]
  511. 0000053A  48C0                     ext.l      D0
  512. 0000053C  E588                     lsl        D0, 2
  513. 0000053E  A71E                     syscall    NewPtrSysClear, flags=7
  514. 00000540  2D48 FFF6                move.l     [A6 - 0xA], A0
  515. 00000544  2008                     move.l     D0, A0
  516. 00000546  6604                     bne        +0x6 /* 0000054C */
  517. 00000548  70FF                     moveq.l    D0, 0xFFFFFFFF
  518. 0000054A  6034                     bra        +0x36 /* 00000580 */
  519. label0000054C:
  520. 0000054C  40E7                     move.w     -[A7], SR
  521. 0000054E  46FC 2600 3038           move.w     SR, 0x26003038 /* '&\008' */
  522. 00000554  01D2                     .incomplete
  523. 00000556  48C0                     ext.l      D0
  524. 00000558  E588                     lsl        D0, 2
  525. 0000055A  226E FFF6                movea.l    A1, [A6 - 0xA]
  526. 0000055E  2078 011C                movea.l    A0, [0x0000011C /* UTableBase */]
  527. 00000562  A02E                     syscall    BlockMove/BlockMoveData
  528. 00000564  2078 011C                movea.l    A0, [0x0000011C /* UTableBase */]
  529. 00000568  A01F                     syscall    DisposPtr/DisposePtr
  530. 0000056A  21EE FFF6 011C           move.l     [0x0000011C /* UTableBase */], [A6 - 0xA]
  531. 00000570  31EE FFFA 01D2           move.w     [0x000001D2 /* UnitNtryCnt */], [A6 - 0x6]
  532. 00000576  46DF                     move.w     SR, [A7]+
  533. 00000578  6000 FF3C                bra        -0xC2 /* 000004B6 */
  534. label0000057C:
  535. 0000057C  302E FFFC                move.w     D0, [A6 - 0x4]
  536. label00000580:
  537. 00000580  4E5E                     unlink     A6
  538. 00000582  4E75                     rts
  539. fn00000584:
  540. 00000584  4E56 FEAC                link       A6, -0x0154
  541. 00000588  48E7 0730                movem.l    -[A7], D5,D6,D7,A2,A3
  542. 0000058C  7E00                     moveq.l    D7, 0x00
  543. 0000058E  0838 0006 028E           btst.b     [0x0000028E /* ROM85 */], 0x6
  544. 00000594  6628                     bne        +0x2A /* 000005BE */
  545. 00000596  42A7                     clr.l      -[A7]
  546. 00000598  AA2A                     syscall    GetMainDevice
  547. 0000059A  205F                     movea.l    A0, [A7]+
  548. 0000059C  2050                     movea.l    A0, [A0]
  549. 0000059E  2068 0016                movea.l    A0, [A0 + 0x16]
  550. 000005A2  2050                     movea.l    A0, [A0]
  551. 000005A4  0C68 0004 0020           cmpi.w     [A0 + 0x20], 0x4
  552. 000005AA  6D12                     blt        +0x14 /* 000005BE */
  553. 000005AC  42A7                     clr.l      -[A7]
  554. 000005AE  3F2E 0008                move.w     -[A7], [A6 + 0x8]
  555. 000005B2  AA1E                     syscall    GetCIcon
  556. 000005B4  265F                     movea.l    A3, [A7]+
  557. 000005B6  200B                     move.l     D0, A3
  558. 000005B8  6704                     beq        +0x6 /* 000005BE */
  559. 000005BA  7E01                     moveq.l    D7, 0x01
  560. 000005BC  6016                     bra        +0x18 /* 000005D4 */
  561. label000005BE:
  562. 000005BE  42A7                     clr.l      -[A7]
  563. 000005C0  2F3C 4943 4E23           move.l     -[A7], 0x49434E23 /* 'ICN#' */
  564. 000005C6  3F2E 0008                move.w     -[A7], [A6 + 0x8]
  565. 000005CA  A9A0                     syscall    GetResource
  566. 000005CC  245F                     movea.l    A2, [A7]+
  567. 000005CE  200A                     move.l     D0, A2
  568. 000005D0  6700 010C                beq        +0x10E /* 000006DE */
  569. label000005D4:
  570. 000005D4  42A7                     clr.l      -[A7]
  571. 000005D6  486E FFFC                pea.l      [A6 - 0x4]
  572. 000005DA  2A57                     movea.l    A5, [A7]
  573. 000005DC  2EB8 0904                move.l     [A7], [0x00000904 /* CurrentA5 */]
  574. 000005E0  21CD 0904                move.l     [0x00000904 /* CurrentA5 */], A5
  575. 000005E4  2A1F                     move.l     D5, [A7]+
  576. 000005E6  486E FFF8                pea.l      [A6 - 0x8]
  577. 000005EA  A86E                     syscall    InitGraf
  578. 000005EC  486E FEC2                pea.l      [A6 - 0x13E]
  579. 000005F0  A86F                     syscall    OpenPort
  580. 000005F2  3C38 092C                move.w     D6, [0x0000092C]
  581. 000005F6  DC46                     add.w      D6, D6
  582. 000005F8  4A38 092C                tst.b      [0x0000092C]
  583. 000005FC  6A04                     bpl        +0x6 /* 00000602 */
  584. 000005FE  0046 0001                ori.w      D6, 0x1
  585. label00000602:
  586. 00000602  0A46 1021                xori.w     D6, 0x1021
  587. 00000606  BC78 092E                cmp.w      D6, [0x0000092E]
  588. 0000060A  6706                     beq        +0x8 /* 00000612 */
  589. 0000060C  31FC 0008 092C           move.w     [0x0000092C], 0x8
  590. label00000612:
  591. 00000612  70D8                     moveq.l    D0, 0xFFFFFFD8
  592. 00000614  D06E FECE                add.w      D0, [A6 - 0x132]
  593. 00000618  3D40 FEBA                move.w     [A6 - 0x146], D0
  594. 0000061C  3D78 092C FEBC           move.w     [A6 - 0x144], [0x0000092C]
  595. 00000622  7020                     moveq.l    D0, 0x20
  596. 00000624  D06E FEBA                add.w      D0, [A6 - 0x146]
  597. 00000628  3D40 FEBE                move.w     [A6 - 0x142], D0
  598. 0000062C  7020                     moveq.l    D0, 0x20
  599. 0000062E  D06E FEBC                add.w      D0, [A6 - 0x144]
  600. 00000632  3D40 FEC0                move.w     [A6 - 0x140], D0
  601. 00000636  4A07                     tst.b      D7
  602. 00000638  670E                     beq        +0x10 /* 00000648 */
  603. 0000063A  486E FEBA                pea.l      [A6 - 0x146]
  604. 0000063E  2F0B                     move.l     -[A7], A3
  605. 00000640  AA1F                     syscall    PlotCIcon
  606. 00000642  2F0B                     move.l     -[A7], A3
  607. 00000644  AA25                     syscall    DisposeCIcon/DisposCIcon
  608. 00000646  6064                     bra        +0x66 /* 000006AC */
  609. label00000648:
  610. 00000648  204A                     movea.l    A0, A2
  611. 0000064A  A029                     syscall    HLock
  612. 0000064C  2052                     movea.l    A0, [A2]
  613. 0000064E  41E8 0080                lea.l      A0, [A0 + 0x80]
  614. 00000652  2D48 FEAC                move.l     [A6 - 0x154], A0
  615. 00000656  3D7C 0004 FEB0           move.w     [A6 - 0x150], 0x4
  616. 0000065C  426E FEB2                clr.w      [A6 - 0x14E]
  617. 00000660  426E FEB4                clr.w      [A6 - 0x14C]
  618. 00000664  3D7C 0020 FEB6           move.w     [A6 - 0x14A], 0x20 /* ' ' */
  619. 0000066A  3D7C 0020 FEB8           move.w     [A6 - 0x148], 0x20 /* ' ' */
  620. 00000670  486E FEAC                pea.l      [A6 - 0x154]
  621. 00000674  486E FEC4                pea.l      [A6 - 0x13C]
  622. 00000678  486E FEB2                pea.l      [A6 - 0x14E]
  623. 0000067C  486E FEBA                pea.l      [A6 - 0x146]
  624. 00000680  3F3C 0003                move.w     -[A7], 0x3
  625. 00000684  42A7                     clr.l      -[A7]
  626. 00000686  A8EC                     syscall    CopyBits
  627. 00000688  04AE 0000 0080 FEAC      subi.l     [A6 - 0x154], 0x80
  628. 00000690  486E FEAC                pea.l      [A6 - 0x154]
  629. 00000694  486E FEC4                pea.l      [A6 - 0x13C]
  630. 00000698  486E FEB2                pea.l      [A6 - 0x14E]
  631. 0000069C  486E FEBA                pea.l      [A6 - 0x146]
  632. 000006A0  3F3C 0001                move.w     -[A7], 0x1
  633. 000006A4  42A7                     clr.l      -[A7]
  634. 000006A6  A8EC                     syscall    CopyBits
  635. 000006A8  2F0A                     move.l     -[A7], A2
  636. 000006AA  A9A3                     syscall    ReleaseResource
  637. label000006AC:
  638. 000006AC  0678 0028 092C           addi.w     [0x0000092C], 0x28 /* '(' */
  639. 000006B2  3C38 092C                move.w     D6, [0x0000092C]
  640. 000006B6  DC46                     add.w      D6, D6
  641. 000006B8  4A38 092C                tst.b      [0x0000092C]
  642. 000006BC  6A04                     bpl        +0x6 /* 000006C2 */
  643. 000006BE  0046 0001                ori.w      D6, 0x1
  644. label000006C2:
  645. 000006C2  0A46 1021                xori.w     D6, 0x1021
  646. 000006C6  31C6 092E                move.w     [0x0000092E], D6
  647. 000006CA  486E FEC2                pea.l      [A6 - 0x13E]
  648. 000006CE  A87D                     syscall    ClosePort
  649. 000006D0  42A7                     clr.l      -[A7]
  650. 000006D2  2F05                     move.l     -[A7], D5
  651. 000006D4  2A57                     movea.l    A5, [A7]
  652. 000006D6  2EB8 0904                move.l     [A7], [0x00000904 /* CurrentA5 */]
  653. 000006DA  21CD 0904                move.l     [0x00000904 /* CurrentA5 */], A5
  654. label000006DE:
  655. 000006DE  4CEE 0CE0 FE98           movem.l    D5,D6,D7,A2,A3, [A6 - 0x168]
  656. 000006E4  4E5E                     unlink     A6
  657. 000006E6  4E75                     rts
  658. fn000006E8:
  659. 000006E8  4A78 028E                tst.w      [0x0000028E /* ROM85 */]
  660. 000006EC  6B22                     bmi        +0x24 /* 00000710 */
  661. 000006EE  303C 0090                move.w     D0, 0x90
  662. 000006F2  A346                     syscall    GetOSTrapAddress, flags=3
  663. 000006F4  2248                     movea.l    A1, A0
  664. 000006F6  303C 009F                move.w     D0, 0x9F
  665. 000006FA  A746                     syscall    GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
  666. 000006FC  B3C8                     cmpa.l     A1, A0
  667. 000006FE  6710                     beq        +0x12 /* 00000710 */
  668. 00000700  225F                     movea.l    A1, [A7]+
  669. 00000702  205F                     movea.l    A0, [A7]+
  670. 00000704  301F                     move.w     D0, [A7]+
  671. 00000706  2F09                     move.l     -[A7], A1
  672. 00000708  A090                     syscall    SysEnvirons
  673. 0000070A  3F40 0004                move.w     [A7 + 0x4], D0
  674. 0000070E  4E75                     rts
  675. label00000710:
  676. 00000710  206F 0004                movea.l    A0, [A7 + 0x4]
  677. 00000714  303C 0001                move.w     D0, 0x1
  678. 00000718  2248                     movea.l    A1, A0
  679. 0000071A  6006                     bra        +0x8 /* 00000722 */
  680. 0000071C  0313                     btst       [A3], D1
  681. 0000071E  0B02                     btst       D2, D5
  682. 00000720  0100                     btst       D0, D0
  683. label00000722:
  684. 00000722  303C 0010                move.w     D0, 0x10
  685. 00000726  E240                     asr        D0.w, 1
  686. 00000728  5340                     subq.w     D0, 1
  687. label0000072A:
  688. 0000072A  4258                     clr.w      [A0]+
  689. 0000072C  51C8 FFFC                dbf        D0, -0x6 /* 0000072A */
  690. 00000730  32BC 0001                move.w     [A1], 0x1
  691. 00000734  2078 02AE                movea.l    A0, [0x000002AE /* ROMBase */]
  692. 00000738  337C FFFE 0002           move.w     [A1 + 0x2], 0xFFFE
  693. 0000073E  0C28 00FF 0009           cmpi.b     [A0 + 0x9], 0xFF
  694. 00000744  6742                     beq        +0x44 /* 00000788 */
  695. 00000746  4A28 0008                tst.b      [A0 + 0x8]
  696. 0000074A  6E20                     bgt        +0x22 /* 0000076C */
  697. 0000074C  337C FFFF 0002           move.w     [A1 + 0x2], 0xFFFF
  698. 00000752  4A78 028E                tst.w      [0x0000028E /* ROM85 */]
  699. 00000756  6B30                     bmi        +0x32 /* 00000788 */
  700. 00000758  337C 0001 0002           move.w     [A1 + 0x2], 0x1
  701. 0000075E  4A78 0B22                tst.w      [0x00000B22 /* HWCfgFlags */]
  702. 00000762  6A24                     bpl        +0x26 /* 00000788 */
  703. 00000764  337C 0002 0002           move.w     [A1 + 0x2], 0x2
  704. 0000076A  601C                     bra        +0x1E /* 00000788 */
  705. label0000076C:
  706. 0000076C  4269 0002                clr.w      [A1 + 0x2]
  707. 00000770  0C28 0002 0008           cmpi.b     [A0 + 0x8], 0x2
  708. 00000776  6E10                     bgt        +0x12 /* 00000788 */
  709. 00000778  6708                     beq        +0xA /* 00000782 */
  710. 0000077A  337C 0004 0002           move.w     [A1 + 0x2], 0x4
  711. 00000780  6006                     bra        +0x8 /* 00000788 */
  712. label00000782:
  713. 00000782  337C 0003 0002           move.w     [A1 + 0x2], 0x3
  714. label00000788:
  715. 00000788  4269 0004                clr.w      [A1 + 0x4]
  716. 0000078C  0C38 0002 012F           cmpi.b     [0x0000012F /* CPUFlag */], 0x2
  717. 00000792  6E0A                     bgt        +0xC /* 0000079E */
  718. 00000794  1038 012F                move.b     D0, [0x0000012F /* CPUFlag */]
  719. 00000798  5240                     addq.w     D0, 1
  720. 0000079A  1340 0007                move.b     [A1 + 0x7], D0
  721. label0000079E:
  722. 0000079E  4A78 028E                tst.w      [0x0000028E /* ROM85 */]
  723. 000007A2  6B0E                     bmi        +0x10 /* 000007B2 */
  724. 000007A4  0838 0004 0B22           btst.b     [0x00000B22 /* HWCfgFlags */], 0x4
  725. 000007AA  6706                     beq        +0x8 /* 000007B2 */
  726. 000007AC  137C 0001 0008           move.b     [A1 + 0x8], 0x1
  727. label000007B2:
  728. 000007B2  0C78 3FFF 028E           cmpi.w     [0x0000028E /* ROM85 */], 0x3FFF
  729. 000007B8  6206                     bhi        +0x8 /* 000007C0 */
  730. 000007BA  137C 0001 0009           move.b     [A1 + 0x9], 0x1
  731. label000007C0:
  732. 000007C0  1038 021E                move.b     D0, [0x0000021E /* KbdType */]
  733. 000007C4  41FA FF5B                lea.l      A0, [PC - 0xA5 /* 00000721, value 0x303C00 '0<\0', cstring "" */]
  734. 000007C8  323C 0004                move.w     D1, 0x4
  735. label000007CC:
  736. 000007CC  B020                     cmp.b      D0, -[A0]
  737. 000007CE  57C9 FFFC                dbeq       D1, -0x6 /* 000007CC */
  738. 000007D2  5241                     addq.w     D1, 1
  739. 000007D4  3341 000A                move.w     [A1 + 0xA], D1
  740. 000007D8  4A38 0291                tst.b      [0x00000291 /* PortBUse */]
  741. 000007DC  6B18                     bmi        +0x1A /* 000007F6 */
  742. 000007DE  1238 01FB                move.b     D1, [0x000001FB /* SPConfig */]
  743. 000007E2  0201 000F                andi.b     D1, 0xF
  744. 000007E6  0C01 0001                cmpi.b     D1, 0x1
  745. 000007EA  660A                     bne        +0xC /* 000007F6 */
  746. 000007EC  2078 02DC                movea.l    A0, [0x000002DC /* ABusDCE */]
  747. 000007F0  1368 0007 000D           move.b     [A1 + 0xD], [A0 + 0x7]
  748. label000007F6:
  749. 000007F6  3378 0210 000E           move.w     [A1 + 0xE], [0x00000210 /* BootDrive */]
  750. 000007FC  4A78 03F6                tst.w      [0x000003F6 /* FSFCBLen */]
  751. 00000800  6D44                     blt        +0x46 /* 00000846 */
  752. 00000802  4269 000E                clr.w      [A1 + 0xE]
  753. 00000806  323C 003C                move.w     D1, 0x3C /* '<' */
  754. label0000080A:
  755. 0000080A  4267                     clr.w      -[A7]
  756. 0000080C  51C9 FFFC                dbf        D1, -0x6 /* 0000080A */
  757. 00000810  204F                     movea.l    A0, A7
  758. 00000812  3178 0A58 0018           move.w     [A0 + 0x18], [0x00000A58 /* SysMap */]
  759. 00000818  7008                     moveq.l    D0, 0x08
  760. 0000081A  A260                     syscall    FSDispatch/HFSDispatch, flags=2
  761. 0000081C  6624                     bne        +0x26 /* 00000842 */
  762. 0000081E  3168 0034 0016           move.w     [A0 + 0x16], [A0 + 0x34]
  763. 00000824  A207                     syscall    GetVolInfo/PBHGetVInfo/HGetVInfo, flags=2
  764. 00000826  661A                     bne        +0x1C /* 00000842 */
  765. 00000828  2168 005A 0030           move.l     [A0 + 0x30], [A0 + 0x5A]
  766. 0000082E  217C 4552 494B 001C      move.l     [A0 + 0x1C], 0x4552494B /* 'ERIK' */
  767. 00000836  7001                     moveq.l    D0, 0x01
  768. 00000838  A260                     syscall    FSDispatch/HFSDispatch, flags=2
  769. 0000083A  6606                     bne        +0x8 /* 00000842 */
  770. 0000083C  3368 0016 000E           move.w     [A1 + 0xE], [A0 + 0x16]
  771. label00000842:
  772. 00000842  4FEF 007A                lea.l      A7, [A7 + 0x7A]
  773. label00000846:
  774. 00000846  2049                     movea.l    A0, A1
  775. 00000848  225F                     movea.l    A1, [A7]+
  776. 0000084A  5C4F                     addq.w     A7, 6
  777. 0000084C  3EBC EA84                move.w     [A7], 0xEA84
  778. 00000850  4ED1                     jmp        [A1]
  779. fn00000852:
  780. 00000852  4E56 0000                link       A6, 0
  781. 00000856  203C 0000 A89F           move.l     D0, 0xA89F
  782. 0000085C  A746                     syscall    GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
  783. 0000085E  2F08                     move.l     -[A7], A0
  784. 00000860  203C 0000 A0AD           move.l     D0, 0xA0AD
  785. 00000866  A346                     syscall    GetOSTrapAddress, flags=3
  786. 00000868  B1DF                     cmpa.l     A0, [A7]+
  787. 0000086A  670E                     beq        +0x10 /* 0000087A */
  788. 0000086C  202E 000C                move.l     D0, [A6 + 0xC]
  789. 00000870  A1AD                     syscall    Gestalt, flags=1
  790. 00000872  226E 0008                movea.l    A1, [A6 + 0x8]
  791. 00000876  2288                     move.l     [A1], A0
  792. 00000878  6026                     bra        +0x28 /* 000008A0 */
  793. label0000087A:
  794. 0000087A  41FA 0036                lea.l      A0, [PC + 0x36 /* 000008B2, value 0x76657273 'vers', cstring "vers" */]
  795. 0000087E  303C EA51                move.w     D0, 0xEA51
  796. 00000882  222E 000C                move.l     D1, [A6 + 0xC]
  797. label00000886:
  798. 00000886  B298                     cmp.l      D1, [A0]+
  799. 00000888  6706                     beq        +0x8 /* 00000890 */
  800. 0000088A  4A98                     tst.l      [A0]+
  801. 0000088C  6712                     beq        +0x14 /* 000008A0 */
  802. 0000088E  60F6                     bra        -0x8 /* 00000886 */
  803. label00000890:
  804. 00000890  43FA 0020                lea.l      A1, [PC + 0x20 /* 000008B2, value 0x76657273 'vers', cstring "vers" */]
  805. 00000894  D3D0                     add.l      A1, [A0]
  806. 00000896  4ED1                     jmp        [A1]
  807. label00000898:
  808. 00000898  226E 0008                movea.l    A1, [A6 + 0x8]
  809. 0000089C  2280                     move.l     [A1], D0
  810. 0000089E  4240                     clr.w      D0
  811. label000008A0:
  812. 000008A0  3D40 0010                move.w     [A6 + 0x10], D0
  813. 000008A4  4E5E                     unlink     A6
  814. 000008A6  205F                     movea.l    A0, [A7]+
  815. 000008A8  508F                     addq.l     A7, 8
  816. 000008AA  4ED0                     jmp        [A0]
  817. label000008AC:
  818. 000008AC  303C EA52                move.w     D0, 0xEA52
  819. 000008B0  60EE                     bra        -0x10 /* 000008A0 */
  820. 000008B2  7665                     moveq.l    D3, 0x65
  821. 000008B4  7273                     moveq.l    D1, 0x73
  822. 000008B6  0000 0060                ori.b      D0, 0x60 /* '`' */
  823. 000008BA  6D61                     blt        +0x63 /* 0000091D */
  824. 000008BC  6368                     bls        +0x6A /* 00000926 */
  825. 000008BE  0000 0064                ori.b      D0, 0x64 /* 'd' */
  826. 000008C2  7379                     moveq.l    D1, 0x79
  827. 000008C4  7376                     moveq.l    D1, 0x76
  828. 000008C6  0000 0088                ori.b      D0, 0x88
  829. 000008CA  7072                     moveq.l    D0, 0x72
  830. 000008CC  6F63                     ble        +0x65 /* 00000931 */
  831. 000008CE  0000 0092                ori.b      D0, 0x92
  832. 000008D2  6670                     bne        +0x72 /* 00000944 */
  833. 000008D4  7520                     moveq.l    D2, 0x20
  834. 000008D6  0000 009E                ori.b      D0, 0x9E
  835. 000008DA  7164                     moveq.l    D0, 0x64
  836. 000008DC  2020                     move.l     D0, -[A0]
  837. 000008DE  0000 00E8                ori.b      D0, 0xE8
  838. 000008E2  6B62                     bmi        +0x64 /* 00000946 */
  839. 000008E4  6420                     bcc        +0x22 /* 00000906 */
  840. 000008E6  0000 011A                ori.b      D0, 0x1A
  841. 000008EA  6174                     bsr        +0x76 /* 00000960 */
  842. 000008EC  6C6B                     bge        +0x6D /* 00000959 */
  843. 000008EE  0000 0142                ori.b      D0, 0x42 /* 'B' */
  844. 000008F2  6D6D                     blt        +0x6F /* 00000961 */
  845. 000008F4  7520                     moveq.l    D2, 0x20
  846. 000008F6  0000 0164                ori.b      D0, 0x64 /* 'd' */
  847. 000008FA  7261                     moveq.l    D1, 0x61
  848. 000008FC  6D20                     blt        +0x22 /* 0000091E */
  849. 000008FE  0000 0188                ori.b      D0, 0x88
  850. 00000902  6C72                     bge        +0x74 /* 00000976 */
  851. 00000904  616D                     bsr        +0x6F /* 00000973 */
  852. label00000906:
  853. 00000906  0000 0188                ori.b      D0, 0x88
  854. 0000090A  0000 0000                ori.b      D0, 0x0
  855. 0000090E  0000 0000                ori.b      D0, 0x0
  856. 00000912  7001                     moveq.l    D0, 0x01
  857. 00000914  6082                     bra        -0x7C /* 00000898 */
  858. 00000916  2278 02AE                movea.l    A1, [0x000002AE /* ROMBase */]
  859. 0000091A  7004                     moveq.l    D0, 0x04
  860. 0000091C  0C69 0075 0008           cmpi.w     [A1 + 0x8], 0x75 /* 'u' */
  861. // begin alternate branch 0000091E-00000926
  862. label0000091E:
  863. 0000091E  0075 0008 6712 0C69      ori.w      [[A5 + D6 * 8] + 0xC69], 0x8
  864. // end alternate branch 0000091E-00000926
  865. label0000091E: // (misaligned)
  866. 00000922  6712                     beq        +0x14 /* 00000936 */
  867. 00000924  0C69 0276 0008           cmpi.w     [A1 + 0x8], 0x276
  868. // begin alternate branch 00000926-0000092C
  869. label00000926:
  870. 00000926  0276 0008 6604           andi.w     [A6 + D6.w * 8 + 0x4], 0x8
  871. // end alternate branch 00000926-0000092C
  872. label00000926: // (misaligned)
  873. 0000092A  6604                     bne        +0x6 /* 00000930 */
  874. 0000092C  5240                     addq.w     D0, 1
  875. 0000092E  6006                     bra        +0x8 /* 00000936 */
  876. label00000930:
  877. 00000930  1038 0CB3                move.b     D0, [0x00000CB3 /* MMUFluff/MachineType */]
  878. 00000934  5C80                     addq.l     D0, 6
  879. label00000936:
  880. 00000936  6000 FF60                bra        -0x9E /* 00000898 */
  881. 0000093A  7000                     moveq.l    D0, 0x00
  882. 0000093C  3038 015A                move.w     D0, [0x0000015A /* SysVersion */]
  883. 00000940  6000 FF56                bra        -0xA8 /* 00000898 */
  884. label00000944:
  885. 00000944  7000                     moveq.l    D0, 0x00
  886. label00000946:
  887. 00000946  1038 012F                move.b     D0, [0x0000012F /* CPUFlag */]
  888. 0000094A  5240                     addq.w     D0, 1
  889. 0000094C  6000 FF4A                bra        -0xB4 /* 00000898 */
  890. 00000950  0C38 0004 012F           cmpi.b     [0x0000012F /* CPUFlag */], 0x4
  891. 00000956  6738                     beq        +0x3A /* 00000990 */
  892. 00000958  0838 0004 0B22           btst.b     [0x00000B22 /* HWCfgFlags */], 0x4
  893. 0000095E  6734                     beq        +0x36 /* 00000994 */
  894. fn00000960:
  895. 00000960  204F                     movea.l    A0, A7
  896. 00000962  F280 0000                fnop
  897. 00000966  F327                     .extension 0x327 <<F/4-5/1>> // unimplemented
  898. 00000968  3017                     move.w     D0, [A7]
  899. 0000096A  2E48                     movea.l    A7, A0
  900. 0000096C  0C40 1F18                cmpi.w     D0, 0x1F18
  901. 00000970  6716                     beq        +0x18 /* 00000988 */
  902. 00000972  0C40 3F18                cmpi.w     D0, 0x3F18
  903. label00000976:
  904. 00000976  6710                     beq        +0x12 /* 00000988 */
  905. 00000978  0C40 3F38                cmpi.w     D0, 0x3F38 /* '?8' */
  906. 0000097C  670E                     beq        +0x10 /* 0000098C */
  907. 0000097E  0C40 1F38                cmpi.w     D0, 0x1F38
  908. 00000982  6708                     beq        +0xA /* 0000098C */
  909. 00000984  7000                     moveq.l    D0, 0x00
  910. 00000986  600E                     bra        +0x10 /* 00000996 */
  911. label00000988:
  912. 00000988  7001                     moveq.l    D0, 0x01
  913. 0000098A  600A                     bra        +0xC /* 00000996 */
  914. label0000098C:
  915. 0000098C  7002                     moveq.l    D0, 0x02
  916. 0000098E  6006                     bra        +0x8 /* 00000996 */
  917. label00000990:
  918. 00000990  7003                     moveq.l    D0, 0x03
  919. 00000992  6002                     bra        +0x4 /* 00000996 */
  920. label00000994:
  921. 00000994  7000                     moveq.l    D0, 0x00
  922. label00000996:
  923. 00000996  6000 FF00                bra        -0xFE /* 00000898 */
  924. 0000099A  0C78 3FFF 028E           cmpi.w     [0x0000028E /* ROM85 */], 0x3FFF
  925. 000009A0  6E1C                     bgt        +0x1E /* 000009BE */
  926. 000009A2  303C A89F                move.w     D0, 0xA89F
  927. 000009A6  A746                     syscall    GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
  928. 000009A8  2408                     move.l     D2, A0
  929. 000009AA  203C 0000 AB03           move.l     D0, 0xAB03
  930. 000009B0  A746                     syscall    GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
  931. 000009B2  203C 0000 0100           move.l     D0, 0x100
  932. 000009B8  B488                     cmp.l      D2, A0
  933. 000009BA  6606                     bne        +0x8 /* 000009C2 */
  934. 000009BC  600A                     bra        +0xC /* 000009C8 */
  935. label000009BE:
  936. 000009BE  7000                     moveq.l    D0, 0x00
  937. 000009C0  6006                     bra        +0x8 /* 000009C8 */
  938. label000009C2:
  939. 000009C2  203C 0000 0200           move.l     D0, 0x200
  940. label000009C8:
  941. 000009C8  6000 FECE                bra        -0x130 /* 00000898 */
  942. 000009CC  1038 021E                move.b     D0, [0x0000021E /* KbdType */]
  943. 000009D0  41FA 0016                lea.l      A0, [PC + 0x16 /* 000009E8, value 0x3130B02 */]
  944. 000009D4  2248                     movea.l    A1, A0
  945. label000009D6:
  946. 000009D6  1218                     move.b     D1, [A0]+
  947. 000009D8  6700 FED2                beq        -0x12C /* 000008AC */
  948. 000009DC  B200                     cmp.b      D1, D0
  949. 000009DE  66F6                     bne        -0x8 /* 000009D6 */
  950. 000009E0  91C9                     sub.l      A0, A1
  951. 000009E2  2008                     move.l     D0, A0
  952. 000009E4  6000 FEB2                bra        -0x14C /* 00000898 */
  953. 000009E8  0313                     btst       [A3], D1
  954. 000009EA  0B02                     btst       D2, D5
  955. 000009EC  0106                     btst       D6, D0
  956. 000009EE  0704                     btst       D4, D3
  957. 000009F0  0508                     btst       A0, D2
  958. 000009F2  0900                     btst       D0, D4
  959. 000009F4  7000                     moveq.l    D0, 0x00
  960. 000009F6  4A38 0291                tst.b      [0x00000291 /* PortBUse */]
  961. 000009FA  6B16                     bmi        +0x18 /* 00000A12 */
  962. 000009FC  1238 01FB                move.b     D1, [0x000001FB /* SPConfig */]
  963. 00000A00  0201 000F                andi.b     D1, 0xF
  964. 00000A04  0C01 0001                cmpi.b     D1, 0x1
  965. 00000A08  6608                     bne        +0xA /* 00000A12 */
  966. 00000A0A  2078 02DC                movea.l    A0, [0x000002DC /* ABusDCE */]
  967. 00000A0E  1028 0007                move.b     D0, [A0 + 0x7]
  968. label00000A12:
  969. 00000A12  6000 FE84                bra        -0x17A /* 00000898 */
  970. 00000A16  0C38 0002 012F           cmpi.b     [0x0000012F /* CPUFlag */], 0x2
  971. 00000A1C  6D16                     blt        +0x18 /* 00000A34 */
  972. 00000A1E  7000                     moveq.l    D0, 0x00
  973. 00000A20  1038 0CB1                move.b     D0, [0x00000CB1 /* MMUType */]
  974. 00000A24  0C00 0001                cmpi.b     D0, 0x1
  975. 00000A28  670C                     beq        +0xE /* 00000A36 */
  976. 00000A2A  0C00 0003                cmpi.b     D0, 0x3
  977. 00000A2E  6D04                     blt        +0x6 /* 00000A34 */
  978. 00000A30  5340                     subq.w     D0, 1
  979. 00000A32  6002                     bra        +0x4 /* 00000A36 */
  980. label00000A34:
  981. 00000A34  7000                     moveq.l    D0, 0x00
  982. label00000A36:
  983. 00000A36  6000 FE60                bra        -0x19E /* 00000898 */
  984. 00000A3A  303C A89F                move.w     D0, 0xA89F
  985. 00000A3E  A746                     syscall    GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
  986. 00000A40  2408                     move.l     D2, A0
  987. 00000A42  203C 0000 A88F           move.l     D0, 0xA88F
  988. 00000A48  A746                     syscall    GetToolBoxTrapAddress/GetToolTrapAddress, flags=7
  989. 00000A4A  2038 0108                move.l     D0, [0x00000108 /* MemTop */]
  990. 00000A4E  B488                     cmp.l      D2, A0
  991. 00000A50  670A                     beq        +0xC /* 00000A5C */
  992. 00000A52  598F                     subq.l     A7, 4
  993. 00000A54  3F3C 0016                move.w     -[A7], 0x16
  994. 00000A58  A88F                     syscall    OSDispatch
  995. 00000A5A  201F                     move.l     D0, [A7]+
  996. label00000A5C:
  997. 00000A5C  6000 FE3A                bra        -0x1C4 /* 00000898 */
  998. fn00000A60:
  999. 00000A60  225F                     movea.l    A1, [A7]+
  1000. 00000A62  205F                     movea.l    A0, [A7]+
  1001. 00000A64  A021                     syscall    GetPtrSize
  1002. 00000A66  2E80                     move.l     [A7], D0
  1003. 00000A68  6A02                     bpl        +0x4 /* 00000A6C */
  1004. 00000A6A  4297                     clr.l      [A7]
  1005. label00000A6C:
  1006. 00000A6C  4ED1                     jmp        [A1]
  1007. fn00000A6E:
  1008. 00000A6E  225F                     movea.l    A1, [A7]+
  1009. 00000A70  205F                     movea.l    A0, [A7]+
  1010. 00000A72  A025                     syscall    GetHandleSize
  1011. 00000A74  2E80                     move.l     [A7], D0
  1012. 00000A76  6A02                     bpl        +0x4 /* 00000A7A */
  1013. 00000A78  4297                     clr.l      [A7]
  1014. label00000A7A:
  1015. 00000A7A  4ED1                     jmp        [A1]
  1016. fn00000A7C:
  1017. 00000A7C  7018                     moveq.l    D0, 0x18
  1018. label00000A7E:
  1019. 00000A7E  4267                     clr.w      -[A7]
  1020. 00000A80  51C8 FFFC                dbf        D0, -0x6 /* 00000A7E */
  1021. 00000A84  2F6F 003A 0012           move.l     [A7 + 0x12], [A7 + 0x3A]
  1022. 00000A8A  204F                     movea.l    A0, A7
  1023. 00000A8C  A000                     syscall    Open/PBHOpen/HOpen
  1024. 00000A8E  206F 0036                movea.l    A0, [A7 + 0x36]
  1025. 00000A92  30AF 0018                move.w     [A0], [A7 + 0x18]
  1026. 00000A96  206F 0032                movea.l    A0, [A7 + 0x32]
  1027. 00000A9A  4FEF 003E                lea.l      A7, [A7 + 0x3E]
  1028. 00000A9E  3E80                     move.w     [A7], D0
  1029. 00000AA0  4ED0                     jmp        [A0]
  1030. fn00000AA2:
  1031. 00000AA2  225F                     movea.l    A1, [A7]+
  1032. 00000AA4  101F                     move.b     D0, [A7]+
  1033. 00000AA6  205F                     movea.l    A0, [A7]+
  1034. 00000AA8  6604                     bne        +0x6 /* 00000AAE */
  1035. 00000AAA  A005                     syscall    Status
  1036. 00000AAC  6002                     bra        +0x4 /* 00000AB0 */
  1037. label00000AAE:
  1038. 00000AAE  A405                     syscall    Status, flags=4
  1039. label00000AB0:
  1040. 00000AB0  3E80                     move.w     [A7], D0
  1041. 00000AB2  4ED1                     jmp        [A1]
  1042. fn00000AB4:
  1043. 00000AB4  4E56 0000                link       A6, 0
  1044. 00000AB8  594F                     subq.w     A7, 4
  1045. 00000ABA  2F3C 5354 5223           move.l     -[A7], 0x53545223 /* 'STR#' */
  1046. 00000AC0  3F2E 000A                move.w     -[A7], [A6 + 0xA]
  1047. 00000AC4  A9A0                     syscall    GetResource
  1048. 00000AC6  226E 000C                movea.l    A1, [A6 + 0xC]
  1049. 00000ACA  4211                     clr.b      [A1]
  1050. 00000ACC  201F                     move.l     D0, [A7]+
  1051. 00000ACE  6722                     beq        +0x24 /* 00000AF2 */
  1052. 00000AD0  2040                     movea.l    A0, D0
  1053. 00000AD2  2050                     movea.l    A0, [A0]
  1054. 00000AD4  3018                     move.w     D0, [A0]+
  1055. 00000AD6  322E 0008                move.w     D1, [A6 + 0x8]
  1056. 00000ADA  6716                     beq        +0x18 /* 00000AF2 */
  1057. 00000ADC  B240                     cmp.w      D1, D0
  1058. 00000ADE  6212                     bhi        +0x14 /* 00000AF2 */
  1059. 00000AE0  7000                     moveq.l    D0, 0x00
  1060. label00000AE2:
  1061. 00000AE2  5341                     subq.w     D1, 1
  1062. 00000AE4  6706                     beq        +0x8 /* 00000AEC */
  1063. 00000AE6  1018                     move.b     D0, [A0]+
  1064. 00000AE8  D1C0                     add.l      A0, D0
  1065. 00000AEA  60F6                     bra        -0x8 /* 00000AE2 */
  1066. label00000AEC:
  1067. 00000AEC  1010                     move.b     D0, [A0]
  1068. 00000AEE  5240                     addq.w     D0, 1
  1069. 00000AF0  A02E                     syscall    BlockMove/BlockMoveData
  1070. label00000AF2:
  1071. 00000AF2  4E5E                     unlink     A6
  1072. 00000AF4  205F                     movea.l    A0, [A7]+
  1073. 00000AF6  508F                     addq.l     A7, 8
  1074. 00000AF8  4ED0                     jmp        [A0]
  1075.